mob
	proc

		Ghost()
			return
		Spawn()
			return


		update_health(debug = 0)
			if(!src || !src.damage.len)
				debug("update health 0: didn't pass src/list.len check")
				return
			var/total = 0

			for(var/v in src.damage)
				if(debug) debug("update health: type=[src.damage[v]] : [v]")
				if(v) //anything but zero, isn't null or ""
					total += v

			total = minmax(-(src.mlife*2),total,src.mlife*2)
			if(debug) debug("update health 2: new health value=[src.mlife-total]")
			src.life = src.mlife - total

		life()	//called every second.
			if(src.stat & GHOST)
				src.Ghost()
				return

			if(src.stat & DEAD)
				src.respawnTimer--

				if(src.respawnTimer <= 0)
					if(sandbox)
						src.stat = GHOST
						return
					else
						src.Spawn()
						return
